package pl.edu.pw.MidEmu.UI.Views;

import java.awt.Component;
import java.awt.Point;
import java.util.List;

import pl.edu.pw.MidEmu.Base.Views.BaseView;
import pl.edu.pw.MidEmu.Common.Models.ComponentTypeModel;
import pl.edu.pw.MidEmu.Logic.ProcessHandler;

/**
 * View interface used for managing virtual node
 * @author Mateusz Starodab
 *
 */
public interface MidasComponentView extends BaseView
{
	void addRunningApplication(ProcessHandler processHandler);

	void changeMenusForCBRD(boolean b);

	void changeMenusForMidas(boolean b);

	void dispose();

	void drawSensors();

	void enableMenuItems();

	void enableSensorMenuItems();

	void freeIfaceByName(String interfaceName);

	List<ProcessHandler> getApplications();

	ComponentTypeModel getComponentType();

	Point getLocationOnScreen();

	String getName();

	Point getParentLocationOnScreen();

	void repaint();

	void setBounds(int i, int j, int width, int height);

	void showAddSensorWindow(Point point);

	void showClasLoadingFrame(Point p);

	void showContextMenu(Component component, int x, int y);

	void showOutputWindow(Point p);

	void showRunningApplications(Point p);

	void showShowSensorWindow(Point point);

	void showStartCBRDFrame(Point point);

	void showStartMidasFrame(Point point);
}
